/**
 * Project SQLiteWrapper
 */


#ifndef _CONTENTVALUES_H
#define _CONTENTVALUES_H

#include <cstdint>
#include <string>
#include <map>

using std::string;
using std::map;

class ContentValues {
public: 
    
    /**
     * @param key
     * @param value
     */
    void PutBool(const string& key, const bool& value);
    
    /**
     * @param key
     * @param value
     */
    void PutInt32(const string& key, const int32_t& value);
    
    /**
     * @param key
     * @param value
     */
    void PutInt64(const string& key, const int64_t& value);
    
    /**
     * @param key
     * @param value
     */
    void PutText(const string& key, const string& value);
    
    /**
     * @param key
     */
    void PutNULL(const string& key);

    string GetInsertString();

    string GetUpdateString();

    void Clear();

private:
    map<string, string> values_;
};

#endif //_CONTENTVALUES_H
